package com.xnew.entity.memberArchives;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
* @Author: Zhozh
* @Description: 会员信息变动历史表
* @DateTime: 2022/7/16
* @Params:
* @Return
*/
@TableName("t61_mem_info_chg_hist")
public class MemInfoChgHist implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 历史变动信息编号
    */
    @TableId
    private String histChgInfoNo;

    /**
    * 会员报送信息类型编码
    */
    private String memsubInfoTypeCode;

    /**
    * 机构用户编号
    */
    private String orgUserNo;

    /**
    * 会员信息编号
    */
    private String memInfoNo;

    /**
    * 变动字段名称
    */
    private String chgColName;

    /**
    * 信息录入时间
    */
    private String infoInputTime;

    /**
    * 变动属性名称
    */
    private String chgAttrName;

    /**
    * 变动前数据
    */
    private String chgBefrData;

    /**
    * 变动后数据
    */
    private String chgAftrAdta;

    /**
    * 信息变更人编号
    */
    private String infoChgPsnNo;

    /**
    * 是否是附件类型
    */
    private String isAttachType;

    /**
    * 是否是删除的变动
    */
    private String isDelChg;


    public MemInfoChgHist() {
    }

    public String getHistChgInfoNo() {
        return histChgInfoNo;
    }

    public void setHistChgInfoNo(String histChgInfoNo) {
        this.histChgInfoNo = histChgInfoNo;
    }

    public String getMemsubInfoTypeCode() {
        return memsubInfoTypeCode;
    }

    public void setMemsubInfoTypeCode(String memsubInfoTypeCode) {
        this.memsubInfoTypeCode = memsubInfoTypeCode;
    }

    public String getOrgUserNo() {
        return orgUserNo;
    }

    public void setOrgUserNo(String orgUserNo) {
        this.orgUserNo = orgUserNo;
    }

    public String getMemInfoNo() {
        return memInfoNo;
    }

    public void setMemInfoNo(String memInfoNo) {
        this.memInfoNo = memInfoNo;
    }

    public String getChgColName() {
        return chgColName;
    }

    public void setChgColName(String chgColName) {
        this.chgColName = chgColName;
    }

    public String getInfoInputTime() {
        return infoInputTime;
    }

    public void setInfoInputTime(String infoInputTime) {
        this.infoInputTime = infoInputTime;
    }

    public String getChgAttrName() {
        return chgAttrName;
    }

    public void setChgAttrName(String chgAttrName) {
        this.chgAttrName = chgAttrName;
    }

    public String getChgBefrData() {
        return chgBefrData;
    }

    public void setChgBefrData(String chgBefrData) {
        this.chgBefrData = chgBefrData;
    }

    public String getChgAftrAdta() {
        return chgAftrAdta;
    }

    public void setChgAftrAdta(String chgAftrAdta) {
        this.chgAftrAdta = chgAftrAdta;
    }

    public String getInfoChgPsnNo() {
        return infoChgPsnNo;
    }

    public void setInfoChgPsnNo(String infoChgPsnNo) {
        this.infoChgPsnNo = infoChgPsnNo;
    }

    public String getIsAttachType() {
        return isAttachType;
    }

    public void setIsAttachType(String isAttachType) {
        this.isAttachType = isAttachType;
    }

    public String getIsDelChg() {
        return isDelChg;
    }

    public void setIsDelChg(String isDelChg) {
        this.isDelChg = isDelChg;
    }

    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private Map<String, Object> dictNameResult = new HashMap<String, Object>();

    public Map<String, Object> getDictNameResult() {
        return dictNameResult;
    }

    public void setDictNameResult(Map<String, Object> dictNameResult) {
        this.dictNameResult = dictNameResult;
    }

    //数据字典
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeField(){
        return new String[]{"infsubAuditStatusCode"};
    }

    /*数据字典*/
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeType(){
        return new String[]{"DG0149"};
    }

}